home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / ODObject.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  3.9 KB  |  190 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _ODOBJECT_
  3. #define _ODOBJECT_
  4.  
  5. #include <somobj.idl>
  6. #include <somcls.idl>
  7.  
  8. #ifndef _ODTYPES_
  9. #include "ODTypes.idl"
  10. #endif
  11.  
  12. //==============================================================================
  13. // Theory of Operation
  14. //==============================================================================
  15.  
  16. /*
  17.   This file defines class ODObject.  This class is the common base class
  18.   for all OpenDoc classes.  It provides for extensibility through the
  19.   Extensions protocol.
  20. */
  21.  
  22. //==============================================================================
  23. // Classes defined in this interface
  24. //==============================================================================
  25.  
  26. interface  ODObject;
  27.  
  28. //==============================================================================
  29. // Classes used by this interface
  30. //==============================================================================
  31.  
  32. interface  ODExtension;
  33.  
  34. //==============================================================================
  35. // ODObject
  36. //==============================================================================
  37.  
  38. interface M_ODObject : SOMClass
  39. {
  40. #ifdef __SOMIDL__
  41.     implementation
  42.     {
  43.         somNew : override;
  44.     };
  45. #endif
  46. };
  47.  
  48. interface ODObject  : SOMObject
  49. {
  50.     void InitObject();
  51.     
  52.     boolean IsInitialized();
  53.   
  54.     boolean HasExtension(in ODType extensionName);
  55.   
  56.     ODExtension GetExtension(in ODType extensionName);
  57.   
  58.     void ReleaseExtension(in ODExtension extension);
  59.   
  60.     ODSize  Purge(in ODSize size);
  61.     
  62.     void SubClassResponsibility();
  63.       
  64. #ifdef __SOMIDL__
  65.  
  66.   implementation
  67.   {
  68.     metaclass = M_ODObject;
  69.  
  70.     passthru C_xh = "
  71.     ""
  72.     "#include <ODTypes.xh>;"
  73.     "#include <ODTypesM.h>;"
  74.     "";
  75.  
  76.     somInit : override;
  77.     somUninit : override;
  78.     
  79.     releaseorder:
  80.         InitObject,
  81.         IsInitialized,
  82.         HasExtension,
  83.         GetExtension,
  84.         ReleaseExtension,
  85.         Purge,
  86.         SubClassResponsibility;
  87.         
  88.   };
  89.   
  90. #endif
  91.  
  92. };
  93.  
  94. #endif // _ODOBJECT_
  95.  
  96. #ifndef _ODOBJECT_
  97. #define _ODOBJECT_
  98.  
  99. #include <somobj.idl>
  100. #include <somcls.idl>
  101.  
  102. #ifndef _ODTYPES_
  103. #include "ODTypes.idl"
  104. #endif
  105.  
  106. //==============================================================================
  107. // Theory of Operation
  108. //==============================================================================
  109.  
  110. /*
  111.   This file defines class ODObject.  This class is the common base class
  112.   for all OpenDoc classes.  It provides for extensibility through the
  113.   Extensions protocol.
  114. */
  115.  
  116. //==============================================================================
  117. // Classes defined in this interface
  118. //==============================================================================
  119.  
  120. interface  ODObject;
  121.  
  122. //==============================================================================
  123. // Classes used by this interface
  124. //==============================================================================
  125.  
  126. interface  ODExtension;
  127.  
  128. //==============================================================================
  129. // ODObject
  130. //==============================================================================
  131.  
  132. interface M_ODObject : SOMClass
  133. {
  134. #ifdef __SOMIDL__
  135.     implementation
  136.     {
  137.         somNew : override;
  138.     };
  139. #endif
  140. };
  141.  
  142. interface ODObject  : SOMObject
  143. {
  144.     void InitObject();
  145.     
  146.     boolean IsInitialized();
  147.   
  148.     boolean HasExtension(in ODType extensionName);
  149.   
  150.     ODExtension GetExtension(in ODType extensionName);
  151.   
  152.     void ReleaseExtension(in ODExtension extension);
  153.   
  154.     ODSize  Purge(in ODSize size);
  155.     
  156.     void SubClassResponsibility();
  157.       
  158. #ifdef __SOMIDL__
  159.  
  160.   implementation
  161.   {
  162.     metaclass = M_ODObject;
  163.  
  164.     passthru C_xh = "
  165.     ""
  166.     "#include <ODTypes.xh>;"
  167.     "#include <ODTypesM.h>;"
  168.     "";
  169.  
  170.     somInit : override;
  171.     somUninit : override;
  172.     
  173.     releaseorder:
  174.         InitObject,
  175.         IsInitialized,
  176.         HasExtension,
  177.         GetExtension,
  178.         ReleaseExtension,
  179.         Purge,
  180.         SubClassResponsibility;
  181.         
  182.   };
  183.   
  184. #endif
  185.  
  186. };
  187.  
  188. #endif // _ODOBJECT_
  189.  
  190.